#pragma once

namespace Proton
{
	class IUpdateable
	{
	public:
		IUpdateable();
		~IUpdateable(){};
		virtual void update() = 0;
	};

	class IInitializable
	{
	public:
		IInitializable();
		~IInitializable(){}
		virtual void initialize() = 0;
	};

	class IRenderable
	{
	public:
		IRenderable();
		~IRenderable(){}
		virtual void render() = 0;
	};

	class ILoadable
	{
	public:
		ILoadable();
		~ILoadable(){}
		virtual void load() = 0;
	};
}